Il GridPanelLayout (layout a grigia) è applicabile esclusivamente al pannello WidgetsPanel e prevede che gli elementi contenuti nel pannello che possiede questo layout (widget) siano visualizzati in una struttura a griglia. E' necessario specificare le dimensioni orizzontali e verticali della griglia e ciascuna cella della griglia può contenere al massimo un solo Widget. In aggiunta un widget può estendersi orizzontalmente per più di una cella (hspan), Di fatto, se il numero di colonne previste dal layout è n, occorre tenere in considerazione una struttura costituita da n colonne logiche e 2*n colonne fisiche (una per la label ed una per il campo effettivo, il tutto moltiplicato per il numero colonne logiche). E' possibile regolare le percentuali di occupazione della componente label e della componente widget di ciascuna delle colonne logiche. Le percentuali sono relative allo spazio a disposizione dell'interno pannello. Nel clacolo occorre inoltre tenere in considerazione anche casi " degeneri " quali:
| cod. | nome | descrizione |
|---|---|---|
| struttura | ||
| LGRD001 | collocazione in cella | I widget contenuti in un pannello che possiede questo tipo di layout sono collocati in una specifica cella della griglia. Ciascuna cella contiene l'intero widget, ossia la componenete di etichetta + la componente di campo vero e proprio. |
| LGRD002 | dimensionamento orizzontale | E' possibile specificare la dimensione percentuale di occupazione della compoenente label e della componenete campo per ciascuan delle colonne definte per la griglia. La percentuale è relativa alla larghezza complessiva della griglia. Se ad esempio un pannello possiede un layout a griglia di n colonne è necessario specificare 2*n valori, la cui somma deve essere 100. |
| LGRD003 | colspan | E' possibile stabilire quante celle orizzontali devono essere occupate da un Widget, a partire dalla cella in cui esso è inserito (colspan). Si tratta di celle logiche. Poichè il widget è costituito da due componenti affiancate orizzontalmente (label + campo) occorre tenere presente che è solo la componente di campo vero e proprio che si estende a destra se il valore di span è maggiore di 1. |
| LGRD004 | rowspan | E' possibile stabilire quante celle verticali devono essere occupate da un Widget, a partire dalla cella in cui esso è inserito (rowspan) |
|
| Esempio di layout a griglia |
Nella tabella seguente è riportato il grado di implementazione delle varie caratteristiche/funzioni dell'elemento GridLayout nelle differenti implementazioni.
| cod | feature | guigen | |||
|---|---|---|---|---|---|
| 1.5.0 | 1.6.0 | ||||
| neutral-base | neutral-arricchita | neutral-base | neutral-arricchita | ||
| struttura | |||||
| LGRD001 | collocazione in cella | ![]() |
![]() |
![]() |
![]() |
| LGRD002 | dimensionamento orizzontale | ![]() |
![]() |
![]() |
![]() |
| LGRD003 | colspan | ![]() |
![]() |
![]() |
![]() |
| LGRD004 | rowspan | ![]() |
![]() |
![]() |
![]() |